package com.ssy.lingxi.order.service.base;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.order.entity.PlatformPaymentDO;
import com.ssy.lingxi.order.model.dto.OrderMemberQueryDTO;
import com.ssy.lingxi.order.model.vo.basic.request.OrderMemberIdAndRoleIdVO;

import java.util.List;

/**
 * 平台后台 - 会员支付策略配置 - 关联的会员相关接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-08-11
 */
public interface IBasePlatformPaymentMemberService {
    /**
     * 检查、保存会员支付策略关联的会员
     * @param platformPayment 会员支付策略
     * @param members 会员列表
     * @param isCreate 是否新增，true-新增，false-更新
     * @return 操作结果
     */
    Wrapper<Void> checkMembers(PlatformPaymentDO platformPayment, List<OrderMemberIdAndRoleIdVO> members, boolean isCreate);

    /**
     * 分页查询会员支付策略关联的会员列表
     * @param platformPayment 会员支付策略
     * @param name      会员名称
     * @param current   当前页
     * @param pageSize  每页行数
     * @return 查询结果
     */
    Wrapper<PageData<OrderMemberQueryDTO>> pageMembers(PlatformPaymentDO platformPayment, String name, int current, int pageSize);
}
